import { VcTable, type IColumnsOption } from 'vc';

VcTable.renderer.add('MyCompany', {
  // 默认显示模板
  renderDefault(renderOpts, params) {
    const { row, column } = params;
    const { events = {} } = renderOpts;

    return (
      <a class="companyName" onClick={() => events.click(params)}>
        {row[column.field]}
      </a>
    );
  }
});

const toF9 = (data: any) => {
  console.log(data, '----toF9');
};

/** 公司列 */
export const COMPANY_NAME: IColumnsOption = {
  field: 'companyName',
  title: '公司名称',
  width: 270,
  fixed: 'left',
  headerAlign: 'center',
  cellRender: {
    name: 'MyCompany',
    events: { click: toF9 }
  }
};

// export const COMPANY_NAME: IColumnsOption ={
//   field: 'companyName',
//   title: '公司名称',
//   width: 270,
//   fixed: 'left',
//   headerAlign: 'center',
//   slots: {
//     // 使用 JSX 渲染
//     default: ({ row }) => {
//       return [
//         <span style="color: blue" onClick={() => toF9(row)}>
//           {row.companyName}
//         </span>
//       ];
//     }
//   }
// };

/** 序号列 */
export const INDEX: IColumnsOption = {
  type: 'seq',
  title: '序号',
  width: 70,
  fixed: 'left',
  align: 'center'
};

/** 所在省 */
export const PROVINCE: IColumnsOption = { field: 'province', title: '所属省', align: 'center', width: 80, sortable: true };

/** 所属市 */
export const CITY: IColumnsOption = { field: 'city', title: '所属市', align: 'center', width: 80, sortable: true };

/** 所在县*/
export const COUNTRY: IColumnsOption = { field: 'country', title: '所属县', align: 'center', width: 80, sortable: true };

/** 行业 */
export const INDUSTRY_CATEGORY: IColumnsOption = { field: 'industryCategory', title: '行业', width: 134, sortable: true };

/** 成立日期 */
export const BUSINESS_DATA: IColumnsOption = { field: 'businessTermStartDate', title: '成立日期', align: 'center', sortable: true, width: 134 };

/** 注册资本 */
export const REGISTERED_CAPITAL: IColumnsOption = {
  field: 'registeredCapital',
  title: '注册资本',
  width: 160,
  formatter: ({ row }) => {
    return row.registeredCapital ? `${Number(row.registeredCapital).toFixed(2)}${row.registeredCapitalUnit}` : '-';
  }
};
